package com.hongdee.insurance.quotation.service;

import com.hongdee.insurance.car.entity.TInsuranceCar;
import com.hongdee.insurance.order.entity.TInsuranceOrder;
import com.hongdee.insurance.quotation.entity.TInsuranceQuotation;

import java.util.List;
import java.util.Map;

/**
 * @author 王帅
 * @className ${CLASS_NAME}
 * @type
 * @description
 * @path com.hongdee.crm.insurance.service
 * @create 2017/6/26 10:24
 **/
public interface ITInsuranceTaskService {


    /**
     * 根据车辆VIN 获得最近的一条保险单信息
     * @param vin
     * @param uid
     * @return
     * @throws Exception
     */
    public Map getLatelyInsurance(String vin, String uid) throws Exception;


    /**
     * 根据车辆VIN 获得最近的一次报价单信息
     * @param vin
     * @param uid
     * @return
     * @throws Exception
     */
    public Map getLastQuotationInfo(String vin, String uid) throws Exception;

    /**
     * 最近的更多报价单
     * @param vin
     * @param uid
     * @param companyId
     * @return
     * @throws Exception
     */
    public Map<String,Object> getLastQuotationMore(String vin,String uid,String companyId,String start,String limit) throws Exception;

    /**
     * 任务保存并提交保险信息
     * @param insuranceCar
     * @param quotation
     * @param itemList
     */
    public void saveInsuranceByTask(TInsuranceCar insuranceCar, TInsuranceQuotation quotation,
                                    List<Map<String,Object>> itemList, String uid, String taskId) throws Exception;

    /**
     * 根据报价单ID，更新保险任务回长信息
     * @param
     * @throws Exception
     */
    public void updateTaskInfo(TInsuranceCar car, TInsuranceOrder order) throws Exception;
}
